java应用程序是否连接到服务器
我正在开发一个连接到服务器以获取数据的应用程序
在本文中,我想首先检查应用程序是否连接到服务器。然后,服务器是开着还是关着
根据结果,我想做进一步的操作
那么如何获得服务器状态的结果呢
以下是我正在使用的代码:
代码:
try {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(
"http://192.168.1.23/sip_chat_api/getcountry.php");
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
} catch (Exception e) {
}
# 1 楼答案
检查HttpResponse的getStatusLine()方法
除200以外的任何状态代码都表示存在问题,每个状态代码都指向发生的不同问题
http://hc.apache.org/httpcomponents-core-ga/httpcore/apidocs/org/apache/http/HttpResponse.html?is-external=true
http://hc.apache.org/httpcomponents-core-ga/httpcore/apidocs/org/apache/http/StatusLine.html#getStatusCode()
# 2 楼答案
维护会话cookie是这里的最佳选择,请查看如何使用会话cookie:How do I make an http request using cookies on Android?
这里,在向服务器发送请求之前,检查会话cookie。如果存在,则继续通信。 更新: 我认为在安卓系统上工作的Java等价物应该是:
我的地址。getByName(主机)。isReachable(超时)